import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gold/utils/size_extension.dart';

/// @description: 尺寸大小
/// @author tangzhentao
/// @created at 09:38 2023/5/26

class XfgSize {
  factory XfgSize() => _instance;
  static final XfgSize _instance = XfgSize._internal();
  static XfgSize get instance => _instance;

  XfgSize._internal();

  final screenWidth = ScreenUtil().screenWidth;

  final screenHeight = ScreenUtil().screenHeight;

  /// 状态栏高度 刘海屏会更高
  final statusBarHeight = ScreenUtil().statusBarHeight;
  /// 底部安全区距离
  final bottomBarHeight = ScreenUtil().bottomBarHeight;

  /// 重要 标准字 加粗 用于大标题、文章内页标题 24
  final importantFontSize1 = 24.xsp;
  /// 重要 标准字 中等 用于导航栏标题 18
  final importantFontSize2 = 18.xsp;
  /// 重要 标准字 中等 用于一级标题栏，小标题文字、按钮 16
  final importantFontSize3 = 16.xsp;

  /// 一般 标准字 中等 用于主要说明性文字 15
  final generallyFontSize1 = 15.xsp;
  /// 一般 标准字 中等 用于正文内容、卡片内容文字 14
  final generallyFontSize2 = 14.xsp;
  /// 一般 标准字 中等 用于搜索栏文字、按钮、标签文字 12
  final generallyFontSize3 = 12.xsp;

  /// 较弱 标准字 中等 用于卡片及图标描述性文字 11
  final weakerFontSize1 = 11.xsp;
  /// 较弱 标准字 中等 用于图标下描述性文字 10
  final weakerFontSize2 = 10.xsp;

  /// 底部tab栏 图标大小 21
  final bottomTabIconSize = 21.xr;
  /// 顶部导航图标tab栏 图标大小 20
  final topNavigationIconSize = 20.xr;
  /// 个人中心菜单栏 图标大小 21
  final menuIconSize = 21.xr;

  final size0_5 = 0.5.xr;
  final size1 = 1.xr;
  final size2 = 2.xr;
  final size3 = 3.xr;
  final size4 = 4.xr;
  final size5 = 5.xr;
  final size6 = 6.xr;
  final size8 = 8.xr;
  final size8_5 = 8.5.xr;
  final size10 = 10.xr;
  final size12 = 12.xr;
  final size14 = 14.xr;
  final size15 = 15.xr;
  final size16 = 16.xr;
  final size17 = 17.xr;
  final size18 = 18.xr;
  final size20 = 20.xr;
  final size21 = 21.xr;
  final size22 = 22.xr;
  final size24 = 24.xr;
  final size25 = 25.xr;
  final size26 = 26.xr;
  final size28 = 28.xr;
  final size30 = 30.xr;
  final size31 = 31.xr;
  final size32 = 32.xr;
  final size33 = 33.xr;
  final size34 = 34.xr;
  final size36 = 36.xr;
  final size38 = 38.xr;
  final size40 = 40.xr;
  final size42 = 42.xr;
  final size44 = 44.xr;
  final size45 = 45.xr;
  final size46 = 46.xr;
  final size48 = 48.xr;
  final size49 = 49.xr;
  final size50 = 50.xr;
  final size52 = 52.xr;
  final size54 = 54.xr;
  final size55 = 55.xr;
  final size56 = 56.xr;
  final size58 = 58.xr;
  final size60 = 58.xr;
  final size62 = 62.xr;
  final size64 = 64.xr;
  final size65 = 65.xr;
  final size67 = 67.xr;
  final size70 = 70.xr;
  final size72 = 72.xr;
  final size74 = 74.xr;
  final size75 = 75.xr;
  final size76 = 76.xr;
  final size77 = 77.xr;
  final size78 = 78.xr;
  final size80 = 80.xr;
  final size82 = 82.xr;
  final size84 = 84.xr;
  final size88 = 88.xr;
  final size90 = 90.xr;
  final size92 = 92.xr;
  final size95 = 95.xr;
  final size97 = 97.xr;
  final size100 = 100.xr;
  final size102 = 102.xr;
  final size105 = 105.xr;
  final size107 = 107.xr;
  final size112 = 112.xr;
  final size114 = 114.xr;
  final size116 = 116.xr;
  final size120 = 120.xr;
  final size127 = 127.xr;
  final size128 = 128.xr;
  final size130 = 130.xr;
  final size133 = 133.xr;
  final size134 = 134.xr;
  final size136 = 136.xr;
  final size140 = 140.xr;
  final size160 = 160.xr;
  final size162 = 162.xr;
  final size164 = 164.xr;
  final size166 = 166.xr;
  final size170 = 170.xr;
  final size175 = 175.xr;
  final size198 = 198.xr;
  final size199 = 199.xr;
  final size200 = 200.xr;
  final size206 = 206.xr;
  final size220 = 220.xr;
  final size224 = 224.xr;
  final size236 = 236.xr;
  final size248 = 247.xr;
  final size250 = 250.xr;
  final size278 = 278.xr;
  final size288 = 288.xr;
  final size290 = 290.xr;
  final size300 = 300.xr;
  final size315 = 315.xr;
  final size325 = 325.xr;
  final size342 = 342.xr;
  final size352 = 352.xr;
  final size355 = 355.xr;
  final size388 = 388.xr;
  final size393 = 393.xr;
  final size439 = 439.xr;
  final size452 = 452.xr;
  final size556 = 556.xr;

  final text8 = 8.xsp;
  final text10 = 10.xsp;
  final text12 = 12.xsp;
  final text14 = 14.xsp;
  final text16 = 16.xsp;
  final text18 = 18.xsp;
  final text20 = 20.xsp;
  final text24 = 24.xsp;
  final text28 = 28.xsp;
  final text32 = 32.xsp;
  final text40 = 40.xsp;
  final text46 = 46.xsp;
  final text50 = 50.xsp;
}
